class ConvDiffProblemBase():
    '''Base class of all Convection-Diffusion problems.'''
    def get_vars(self):
        '''Return all variables required for storing and solvers.'''
        if self.__class__.__name__ == 'ConvDiffProblemBase':
            raise TypeError('Call me from child classes only!')
        else:
            return (self.name, self.mesh, self.eps, self.BCValues,\
                    self.b, self.f, self.BCIndicators)

''' Child classes Knobloch1,2 are the problems from paper On discontinuity-capturing methods
for convection-diffusion equations, by Knobloch&John. '''
